---
title: Enums
summary: API reference for Enums.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: embedded
---

# Enums

Groups together the policy-domain enum sets that other library contracts depend on and pairs most of them with `Convert*` helpers that translate between database/string codes and business-friendly enum values.

## Purpose
- Provide stable enum names for common policy classifications such as market type, issuance system, and renewal track.
- Centralize code-to-enum and enum-to-code conversion logic so callers do not duplicate lookup tables.
- Publish the handful of public code constants that are reused outside the conversion functions.

## Context
- Namespace: `SAIF.Business.Policy`
- Assembly/package: `SAIF.Business.Policy`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ConvertMarketType` | `Public Shared Function ConvertMarketType(ByVal inMarketType As MarketTypes) As String` | Converts a market-type enum value to the database code (`ARP` or `VOL`) expected by callers. |
| `ConvertMarketType` | `Public Shared Function ConvertMarketType(ByVal inMarketTypeCode As String) As MarketTypes` | Converts a stored market-type code into the policy enum used by this library. |
| `ConvertOriginalUserType` | `Public Shared Function ConvertOriginalUserType(ByVal inOriginalUserType As OriginalUserTypes) As String` | Converts an original-user enum into the corresponding external code. |
| `ConvertOriginalUserType` | `Public Shared Function ConvertOriginalUserType(ByVal inOriginalUserType As String) As OriginalUserTypes` | Converts an original-user code into the enum used by policy components. |
| `ConvertFinancialSystem` | `Public Shared Function ConvertFinancialSystem(ByVal inFinancialSystem As FinancialSystems) As String` | Converts a financial-system enum into the code expected by integration data. |
| `ConvertFinancialSystem` | `Public Shared Function ConvertFinancialSystem(ByVal inFinancialSystemCode As String) As FinancialSystems` | Converts a financial-system code into the enum used by the library. |
| `ConvertPayrollReportFrequency` | `Public Shared Function ConvertPayrollReportFrequency(ByVal inPayrollReportFrequency As PayrollReportFrequencies) As String` | Converts a payroll-report-frequency enum into the stored single-letter code. |
| `ConvertPayrollReportFrequency` | `Public Shared Function ConvertPayrollReportFrequency(ByVal inPayrollReportFrequencyCode As String) As PayrollReportFrequencies` | Converts a payroll-report-frequency code into the corresponding enum. |
| `SALES_PLAN_GUARANTEED_COST` | `Public Const SALES_PLAN_GUARANTEED_COST As String = "STD"` | External code used for guaranteed-cost sales plans. |
| `SALES_PLAN_RETRO` | `Public Const SALES_PLAN_RETRO As String = "RETRO"` | External code used for retro plans. |
| `SALES_PLAN_GROUP_RETRO` | `Public Const SALES_PLAN_GROUP_RETRO As String = "GRRET"` | External code used for group retro plans. |
| `ConvertSalesPlan` | `Public Shared Function ConvertSalesPlan(ByVal inSalesPlan As SalesPlans) As String` | Converts a sales-plan enum into the code stored or exchanged with other systems. |
| `ConvertSalesPlan` | `Public Shared Function ConvertSalesPlan(ByVal inSalesPlanCode As String) As SalesPlans` | Converts a sales-plan code into the corresponding enum. |
| `ConvertPolicyIssuanceSystem` | `Public Shared Function ConvertPolicyIssuanceSystem(ByVal inPolicyIssuanceSystem As PolicyIssuanceSystems) As String` | Converts a policy-issuance-system enum into the stored system code. |
| `ConvertPolicyIssuanceSystem` | `Public Shared Function ConvertPolicyIssuanceSystem(ByVal inPolicyIssuanceSystemCode As String) As PolicyIssuanceSystems` | Converts a stored issuance-system code into the library enum. |
| `ConvertPolicyRelationship` | `Public Shared Function ConvertPolicyRelationship(ByVal inPolicyRelationship As PolicyRelationships) As String` | Converts a policy-relationship enum into the external relationship code. |
| `ConvertPolicyRelationship` | `Public Shared Function ConvertPolicyRelationship(ByVal inPolicyRelationshipCode As String) As PolicyRelationships` | Converts a stored relationship code into the corresponding enum. |
| `ConvertRenewalTrack` | `Public Shared Function ConvertRenewalTrack(ByVal inRenewalTrackCode As String) As RenewalTracks` | Converts a renewal-track code into the enum used by policy-period contracts. |
| `ConvertRenewalTrack` | `Public Shared Function ConvertRenewalTrack(ByVal inRenewalTrack As RenewalTracks) As String` | Converts a renewal-track enum into the stored code. |
| `ConvertCancellationTrack` | `Public Shared Function ConvertCancellationTrack(ByVal inCancellationTrackCode As String) As CancellationTracks` | Converts a cancellation-track code into the corresponding enum. |
| `ConvertCancellationTrack` | `Public Shared Function ConvertCancellationTrack(ByVal inCancellationTrack As CancellationTracks) As String` | Converts a cancellation-track enum into the stored code. |
| `ALL_WAIVER` | `Public Const ALL_WAIVER As String = "A"` | External code used for the `All` waiver type. |
| `ALL_WRITTEN_WAIVER` | `Public Const ALL_WRITTEN_WAIVER As String = "W"` | External code used for the `AllWritten` waiver type. |
| `FULL_WAIVER` | `Public Const FULL_WAIVER As String = "F"` | External code used for the `Full` waiver type. |
| `PARTIAL_WAIVER` | `Public Const PARTIAL_WAIVER As String = "P"` | External code used for the `Partial` waiver type. |
| `TWENTY_DAY_NOTICE` | `Public Const TWENTY_DAY_NOTICE As String = "T"` | External code used for the `TwentyDayNotice` waiver type. |
| `ALL_WRITTEN_CONSTRUCTION` | `Public Const ALL_WRITTEN_CONSTRUCTION As String = "C"` | External code used for the `AllWrittenConstruction` waiver type. |
| `ConvertWaiverType` | `Public Shared Function ConvertWaiverType(ByVal inWaiverType As WaiverTypes) As String` | Converts a waiver-type enum into its single-letter stored code. |
| `ConvertWaiverType` | `Public Shared Function ConvertWaiverType(ByVal inWaiverTypeCode As String) As WaiverTypes` | Converts a waiver-type code into the corresponding enum. |
| `Experience` | `Public Const Experience As String = "ERP"` | External code used for the experience rating plan. |
| `Claim` | `Public Const Claim As String = "CRP"` | External code used for the claim rating plan. |
| `Merit` | `Public Const Merit As String = "MRP"` | External code used for the merit rating plan. |
| `NonRated` | `Public Const NonRated As String = "NON"` | External code used for the non-rated plan. |
| `SARAP` | `Public Const SARAP As String = "SARAP"` | External code used for the SARAP plan. |
| `ConvertRatingPlan` | `Public Shared Function ConvertRatingPlan(ByVal inRatingPlanCode As String) As RatingPlans` | Converts a rating-plan code into the corresponding enum. |
| `ConvertRatingPlan` | `Public Shared Function ConvertRatingPlan(ByVal inRatingPlanCode As RatingPlans) As String` | Converts a rating-plan enum into the external code used by callers. |

## Nested types
### EntityGroups
- Members: `Corporation`, `LimitedLiabilityCompany`, `LimitedLiabilityPartnership`, `Partnership`, `SoleOwner`, `Others`.
- Purpose: identifies the insured's entity grouping for policy-related business logic.

### MarketTypes
- Members: `Unassigned`, `AssignedRisk`, `Voluntary`.
- Conversion helpers: `ConvertMarketType(MarketTypes)`, `ConvertMarketType(String)`.
- Codes: `AssignedRisk` <-> `ARP`, `Voluntary` <-> `VOL`; unmatched inputs become `Unassigned` or `""`.

### OriginalUserTypes
- Members: `Unassigned`, `Agent`, `CAPS`, `SAIFOther`, `NCCITransfer`, `AgencyTransfer`.
- Conversion helpers: `ConvertOriginalUserType(OriginalUserTypes)`, `ConvertOriginalUserType(String)`.
- Codes: `AGENT`, `CAPS`, `SAIF`, `NCCI`, `TRANS`.

### FinancialSystems
- Members: `Unassigned`, `AR`, `WCIS`, `WINS`.
- Conversion helpers: `ConvertFinancialSystem(FinancialSystems)`, `ConvertFinancialSystem(String)`.
- Codes: `AR`, `WCIS`, `WINS`.

### PayrollReportFrequencies
- Members: `Unknown`, `Annually`, `SemiAnnually`, `Quarterly`, `Monthly`.
- Conversion helpers: `ConvertPayrollReportFrequency(PayrollReportFrequencies)`, `ConvertPayrollReportFrequency(String)`.
- Codes: `A`, `S`, `Q`, `M`.

### SalesPlans
- Members: `Unknown`, `GuaranteedCost`, `Retro`, `GroupRetro`.
- Conversion helpers: `ConvertSalesPlan(SalesPlans)`, `ConvertSalesPlan(String)`.
- Codes: `STD`, `RETRO`, `GRRET`.

### PolicyIssuanceSystems
- Members: `Unknown`, `WCIS`, `PMS`, `WINS`.
- Conversion helpers: `ConvertPolicyIssuanceSystem(PolicyIssuanceSystems)`, `ConvertPolicyIssuanceSystem(String)`.
- Codes: `WCIS`, `PMS`, `WINS`.

### PolicyRelationships
- Members: `Unknown`, `LeasingCompany`, `WrapUp`, `SubAccount`, `StateOfOregon`.
- Conversion helpers: `ConvertPolicyRelationship(PolicyRelationships)`, `ConvertPolicyRelationship(String)`.
- Codes: `LEASE`, `WRAP`, `SUBAC`, `OREGN`.

### RenewalTracks
- Members: `Unknown`, `Manual`, `Automatic`.
- Conversion helpers: `ConvertRenewalTrack(String)`, `ConvertRenewalTrack(RenewalTracks)`.
- Codes: `MAN`, `AUTO`.

### CancellationTracks
- Members: `Unknown`, `Manual`, `Automatic`.
- Conversion helpers: `ConvertCancellationTrack(String)`, `ConvertCancellationTrack(CancellationTracks)`.
- Codes: `MAN`, `AUTO`.

### WaiverTypes
- Members: `All`, `AllWritten`, `Full`, `Partial`, `TwentyDayNotice`, `AllWrittenConstruction`, `Unknown`.
- Conversion helpers: `ConvertWaiverType(WaiverTypes)`, `ConvertWaiverType(String)`.
- Codes: `A`, `W`, `F`, `P`, `T`, `C`.

### PolicyOwnershipSystems
- Members: `WCIS`, `SAIFQuote`.
- Purpose: identifies which system is allowed to own and modify the policy.

### RatingPlans
- Members: `Unknown`, `Experience`, `Claim`, `Merit`, `NonRated`, `SARAP`.
- Conversion helpers: `ConvertRatingPlan(String)`, `ConvertRatingPlan(RatingPlans)`.
- Codes: `ERP`, `CRP`, `MRP`, `NON`, `SARAP`.

## Behavioral notes
- Most enum families are paired with symmetric `Convert*` helpers so callers can move between stored codes and strongly typed values.
- Inputs that do not match a known code generally map to an `Unknown`/`Unassigned` enum or an empty string rather than throwing.
- The file also contains commented-out legacy benefit-jurisdiction and manual-class-type enum code; the active top-level code-map types now own those classifications.

## Constraints and usage notes
- `PolicyOwnershipSystems` is the only nested enum in this file without matching `Convert*` helpers.
- Only the constants declared as `Public Const` are part of the public API; other code literals in the file are private implementation details.

## Sources
- `SAIF.Business.Policy\Enums.vb`